#pragma once
#include "Plateau.h"

class RecuitSim
{
public:
	RecuitSim(Plateau * plateau, int K_Depart, int K_Diminution, int K_Palier, int tps);
	RecuitSim(void);
	~RecuitSim(void);
	double Now(void);
	void Compare(void);
	void Diminuant(int resultat);
	void RotationAleatoir(void);
	void EchangeAleatoir(void);
	void Run();
	Plateau* GetBestPlateau(void);

private:
	Plateau currentPlateau;
	Plateau bestPlateau;
	Plateau savePlateau;
	int bestScore;
	int saveScore;
	int temperature;

	int K;
	int Korigine;
	int _resultDiminuant;
	int _cptDiminuant;
	int _palier;
	int _diminution;

	bool RotaChange;

	int tps;
};
